1. Technical Field
The present invention relates in general to a system and method for simulating user input. The invention more particularly relates to a system and method for simulating user input to control the operation of a software application in accordance with a desired application operation.
2. Background Art
Systems capable for simulating user input to test the operation of an application in a System Under Test ("SUT") are well known. For example, reference may be made to the following U.S. Pat. Nos.: 5,045,994; 5,226,162; 5,418,941; 5,594,892; 5,600,789; 5,657,438; 5,754.755; and 5,774,725.
U.S. Pat No. 5,657,348 discloses a user input simulation system for developing a test script to control an application. The system includes an editor for enabling a user to manually develop the test script using statements in a Test Script Language ("TSL") in a manner similar to programming in the C language. Similarly, modifications to the test script must be made manually by editing the test script statements.
Although scripting in TSL permits the user to adequately control the operation of the application, the user must be sufficiently knowledgeable about command statements in TSL to create a useful test script. Consequently, the development of test scripts requires the user to understand both the operation of the application to be tested as well as a programming language.
Therefore, it would be highly desirable to have a new and improved user input simulation system and method that enables a user to develop a test script for simulating user input to control an application, wherein the user can develop the test script without having to know how to create test script statements in a programming language.
The user input simulation system described in U.S. Pat. No. 5,657,348 also includes a Capture, Replay and Verify ("CRV") module that cooperates with a translator unit for developing a test script. The CRV module captures input information and image information generated by the application in the form of assembler-like commands. The assembler-like commands are translated into TSL commands by the translator unit to form the test script.
While the CRV module/translator unit combination substantially reduces the need for the user to know how to program in TSL, the capturing process makes the user input simulation system dependent upon a display screen (x,y) coordinate system. In this regard, the capturing process will capture the entry of input information at a particular data entry point as determined by a screen cursor position, and will develop a TSL statement indicative of the (x,y) location of the data entry point. For applications using windows in graphical user interface, the position of the data entry point can vary as the corresponding window is moved or resized. As a result, TSL statements incorporating (x,y) coordinates can cause the test script to execute commands that might not be recognized by the application, thereby affecting the effectiveness of the test script.
Therefore, it would also be highly desirable to have a new and improved user input simulation system and method that can develop test scripts independently of the (x,y) coordinates of an application's data entry points as displayed on a display screen. Such a system and method should control the operation of a software application in a windows environment no matter how the windows are arranged.